
# 面向对象 ：方法
"""
在类中 ，分别包括 ：类方法，静态方法，实例方法

# 1. 实例方法 ：定义时第一个参数必须是对象自己 ，一般使用self代表 。

# 2. 类方法
1） 概念 ：主要给类所使用的方法，叫类方法 ，在类名前加@classmethod 。
2）定义 ：在方法前加@classmethod
3) 调用 ：
    类名.类方法()
    对象名.类方法()

# 3. 静态方法
1） 定义 ：在方法前加@staticmethod ,在静态中不需要传入对象引用。
2） 调用 ：
    1）类名.静态方法
    2）对象名.静态方法
"""

class Bug:

    mod = []

    # 定义类方法
    @classmethod
    def set_mod(cls,mod_name):
        cls.mod.append(mod_name)

    def get_mod(self):
        return self.mod

    @staticmethod
    def bug_gz():
        print("这是一个静态方法")


# 通过类名访问类方法
# Bug.set_mod('登录')       # 通过类名调用

# 通过对象调用
bug = Bug()
bug.set_mod('注册')
print(bug.get_mod())

# 通过类名
Bug.bug_gz()

# 通过对象名调用
bug.bug_gz()